package com.oa.ylms.apps.business.leave;

import java.util.Date;
import java.util.List;

import com.oa.ylms.apps.entity.archives.StaffInfoValue;
import com.oa.ylms.apps.entity.leave.LeaveInfoValue;

public interface ILeaveInfoService {

	public int addLeaveInfo(StaffInfoValue staffInfo, String title, String reason,
			Date startTime, Date endTime) throws Exception;

	public String deleteLeaveInfo(String leaveIds) throws Exception;
	
	public boolean deleteLeaveInfo(int leaveIds) throws Exception;

	public LeaveInfoValue queryLeaveInfoByLeaveId(int leaveId) throws Exception;

	public List<LeaveInfoValue> queryLeaveInfoByStaffIdWithPage(StaffInfoValue staffInfo,
			int rows, int pageNo) throws Exception;
	
	public List<LeaveInfoValue> queryLeaveInfoByStaffIdWithPage(int staffId, int states, int rows, int pageNo) throws Exception;
	
	public List<LeaveInfoValue> queryLeaveInfoByChairmainWithPage(String staffName,
			String title, int rows, int pageNo)throws Exception;
	
	public List<LeaveInfoValue> queryLeaveInfoByMinisterWithPage(int sectionId, String staffName,
			String title, int rows, int pageNo)throws Exception;

	public int countTpagesByStaffId(StaffInfoValue staffInfo, int rows) throws Exception;

	public int countTpagesByChairman(String staffName, String title, int rows) throws Exception;
	
	public int countTpagesByMinister(int sectionId, String staffName, String title, int rows)throws Exception;
	
	public int countTpagesByStaffId(int staffId, int states, int rows) throws Exception;
	
	public int getTotalNumber()throws Exception;
	
}
